home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 7 / Amiga Format AFCD07 (Dec 1996, Issue 91).iso / serious / shareware / programming / emacs-complete / fsf / emacs / src / m / vax.h < prev    next >
C/C++ Source or Header  |  1993-08-03  |  3KB  |  132 lines

  1. /* machine description file for vax.
  2.    Copyright (C) 1985, 1986 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20.  
  21. /* The following line tells the configuration script what sort of 
  22.    operating system this machine is likely to run.
  23.    USUAL-OPSYS="note"
  24.  
  25. NOTE-START
  26. The vax (-machine=vax) runs zillions of different operating systems.
  27.  
  28. Vax running Berkeley Unix (-opsystem=bsd4-1, -opsystem=bsd4-2 or
  29.                -opsystem=bsd4-3)
  30.  
  31.   Works.
  32.  
  33. Vax running Ultrix (-opsystem=bsd4-2)
  34.  
  35.   Works.  See under Ultrix in share-lib/MACHINES for problems using X
  36.   windows on Ultrix.
  37.  
  38. Vax running System V rel 2 (-opsystem=usg5-2)
  39.  
  40.   18.27 Works.
  41.  
  42. Vax running System V rel 0 (-opsystem=usg5-0)
  43.  
  44.   Works as of 18.36.
  45.  
  46. Vax running VMS (-opsystem=vms)
  47.  
  48.   18.36 believed to work.  Addition of features is necessary to make
  49.   this Emacs version more usable.
  50.  
  51. NOTE-END  */
  52.  
  53. /* The following three symbols give information on
  54.  the size of various data types.  */
  55.  
  56. #define SHORTBITS 16        /* Number of bits in a short */
  57.  
  58. #define INTBITS 32        /* Number of bits in an int */
  59.  
  60. #define LONGBITS 32        /* Number of bits in a long */
  61.  
  62. /* Vax is not big-endian: lowest numbered byte is least significant. */
  63.  
  64. /* #undef BIG_ENDIAN */
  65.  
  66. /* #define vax    -- appears to be done automatically  */
  67.  
  68. /* Use type int rather than a union, to represent Lisp_Object */
  69.  
  70. #define NO_UNION_TYPE
  71.  
  72. /* crt0.c should use the vax-bsd style of entry, with no dummy args.  */
  73.  
  74. #define CRT0_DUMMIES
  75.  
  76. /* crt0.c should define a symbol `start' and do .globl with a dot.  */
  77.  
  78. #define DOT_GLOBAL_START
  79.  
  80. #ifdef BSD
  81. /* USG systems I know of running on Vaxes do not actually
  82.    support the load average, so disable it for them.  */
  83.  
  84. /* Data type of load average, as read out of kmem.  */
  85.  
  86. #define LOAD_AVE_TYPE double
  87.  
  88. /* Convert that into an integer that is 100 for a load average of 1.0  */
  89.  
  90. #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
  91.  
  92. #endif /* BSD */
  93.  
  94. #ifdef VMS
  95.  
  96. /* Data type of load average, as read out of driver.  */
  97.  
  98. #define LOAD_AVE_TYPE float
  99.  
  100. /* Convert that into an integer that is 100 for a load average of 1.0  */
  101.  
  102. #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
  103.  
  104. #endif /* VMS */
  105.  
  106. /* Vax sysV has alloca in the PW library.  */
  107.  
  108. #ifdef USG
  109. #define LIB_STANDARD -lPW -lc
  110. #define HAVE_ALLOCA
  111.  
  112. /* There is some bug in unexec in for usg 5.2 on a vax
  113.    which nobody who runs such a system has yet tracked down. */
  114. #ifndef USG5_0
  115. #define NO_REMAP
  116. #endif /* USG 5_0 */
  117.  
  118. #define TEXT_START 0
  119. #endif /* USG */
  120.  
  121. #ifdef BSD
  122. #define HAVE_ALLOCA
  123. #endif /* BSD */
  124.  
  125. #ifdef VMS
  126. #define C_ALLOCA
  127. #endif
  128.  
  129. #ifdef BSD4_2
  130. #define HAVE_FTIME
  131. #endif
  132.